Gerrit提交 git merge request的3个步骤(add commit merge)与2个关键概念(ChangeID 分支命名空间) 您所在的位置:网站首页 提交到git服务器的merge 记录可以删除吗 Gerrit提交 git merge request的3个步骤(add commit merge)与2个关键概念(ChangeID 分支命名空间)

Gerrit提交 git merge request的3个步骤(add commit merge)与2个关键概念(ChangeID 分支命名空间)

2024-07-01 23:19| 来源: 网络整理| 查看: 265

要点:

避免直接使用 git push 提交代码到服务器仓库,Gerrit在中间插一脚,提供在push到服务端之前加一个门槛进行审核,然后自动提交到服务器仓库Gerrit 是什么?

Gerrit 是一个基于 Git 的代码审查工具,它提供了代码审查、合并和提交功能。免费、开放源代码的代码审查软件,使用网页界面。它使用Git作为底层版本控制系统。作者为 Google 公司的Shawn Pearce,原先是为了管理 Android 计划而产生。最早它是由 Python 写成,在第二版后,改成用Java与SQL

Gerrit 全称: Gerrit Code Review 系统Gerrit 要点:1. 代码审查 2. CS 架构 3. Java 撰写 4. 底层 Git 工具Gerrit 的 ReviewID 叫做 Change ID为什么叫Gerrit?(Gerrit)人名;(德)格里特。 荷兰设计师赫里特·里特费尔德(Gerrit Rietveld) push origin refs/for/master会生成一个reviewID和web 可以重复push到相同的review ID的web不生成新的web review merge push origin master Gitlocal Gerrit 生成webreview网站 人 GitServer 提交到Gerrit的3个步骤 git add git commit git push HEAD:refs/for/mastermaster修改为需要push的仓库 省略远程服务器

2个关键概念:

ChangeID:将多个commit组合到一起,对Gerrit 相当与一个工单的 ID,可以不断的push到这个ChangeID命名空间:Gerrit 本质也是创建分支,只是分支添加了命名空间 Gerrit的大概原理(推测版) git commit git push HEAD:refs/for/master推送到 Gerrit服务器 Gerrit服务器RESTful 1.创建ChangeID 2. 判断分支命名空间在refs/for/ 3.1创建refs/heads/master分支 3.2创建review网页 评审通过 将新分支merge到master其他分支同理

其他要点:

Git 和 Gerrit 都有命名空间:Git 默认是:refs/heads/*:Gerrit 默认是:refs/for/refs/heads/。 提交代码的时候简化为 refs/for/refs/for仅仅是为了给云端服务器部署了Gerrit的多几个处理环节。原理类似: 评审通过后添加命名空间 分支 (git push)refs/for/xxx有refs 进入Gerrit refs/heads/* (git push)xxx 无refs 自动添加refs/heads/的命名空间直接推送

再看推送空间

自动添加 推送空间 refs /for refs/for/ /refs/for/refs/head/* 评审通过后提交到refs/head/* /heads refs/head/*

其他有趣的信息:

Gerrit 每月会有一次F2F的讨论

For face-to-face discussions there is a monthly Gerrit community meeting that is hosted in Gerrit’s Discord channel.

参考: 官网 https://www.gerritcodereview.com/ more 1 more 2 more 3



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有